package org.example.dic.core.service;

import org.example.dic.core.entity.DicInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.dic.core.form.UpdateDicInfoForm;
import org.example.system.common.dto.dic.DicInfoDto;

import java.util.List;

/**
 * <p>
 * 数据字典信息表  服务类
 * </p>
 *
 * @author Joey
 * @since 2021-05-13
 */
public interface IDicInfoService extends IService<DicInfo> {

    /**
     * 通过字典类型key和字典值key集合获取文本
     * @param typeKey
     * @param dicKeys
     * @return
     */
    String queryDicTextByKeys(String typeKey, String dicKeys);

    /**
     * 获取字典列表
     * @param typeKey
     * @return
     */
    List<DicInfoDto> queryDicInfoList(String typeKey);

    /**
     * 是否存在
     * @param typeKey 类型key
     * @param dicKey 字典key
     * @param dicInfoId 字典id
     * @return
     */
    boolean existByTypeKeyAndDicKey(String typeKey, String dicKey, Long dicInfoId);

    /**
     * 更新字典信息
     * @param form
     */
    void updateDicInfoByForm(UpdateDicInfoForm form);

    /**
     * 查询父级路径
     * @param parentId
     * @return
     */
    String queryIdPath(Long parentId);
}
